package com.huzz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huzz.entity.SysPermission;
import com.huzz.model.PermissionModel;
import com.huzz.vo.PermissionVO;
import com.huzz.util.body.DataBox;

import java.util.List;

/**
 * @Name 名称
 * @Description 描述
 * @Author 童年的纸飞机
 * @Since 2023-04-2023/4/27 11:11
 */
public interface ISysPermissionService extends IService<SysPermission> {
    /**
     * 新建权限
     * @param permissionModel
     * @return
     */
    DataBox<String> createPermission(PermissionModel permissionModel);

    /**
     * 查询权限分页列表
     *
     * @param pageNum
     * @param pageSize
     * @param model
     * @return
     */
    IPage<PermissionVO> findPermissionListPage(Integer pageNum, Integer pageSize, PermissionModel model);

    /**
     * 编辑权限
     * @param permission
     * @return
     */
    DataBox<String> updatePermissionById(SysPermission permission);

    /**
     * 删除权限
     * @param id
     * @return
     */
    DataBox<String> removePermissionById(Integer id);

    /**
     * 根据用户id查询权限列表
     * @param userId
     * @return
     */
    List<SysPermission> findPermissionListByUserId(Integer userId);

}
